The authentication plugin provides generic user support. It is the basis
for both authentication (checking the user is who they claim to be), and
authorization (allowing the user to do what the system authorises them
to do).

Using authentication is split into two parts. A Store is used to
actually store the user information, and can store any amount of data
related to the user. Multiple stores can be accessed from within one
application. Credentials are used to verify users, using the store,
given data from the frontend.
